package com.kongwg.java;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @author kongwg
 * @create 2020-12-11 21:56
 */
public class ListTest {
     /*
void add(int index, Object ele):在index位置插入ele元素
boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来
Object get(int index):获取指定index位置的元素
int indexOf(Object obj):返回obj在集合中首次出现的位置
int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
Object remove(int index):移除指定index位置的元素，并返回此元素
Object set(int index, Object ele):设置指定index位置的元素为ele
List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合

总结：常用方法
增：add(Object obj)
删：remove(int index) / remove(Object obj)
改：set(int index, Object ele)
查：get(int index)
插：add(int index, Object ele)
长度：size()
遍历：① Iterator迭代器方式
     ② 增强for循环
     ③ 普通的循环

     */

    @Test
    public void test1(){
        ArrayList list = new ArrayList();
        list.add(123);
        list.add(456);
        list.add("AA");

        Iterator iterator = list.iterator();

        while(iterator.hasNext()){
            System.out.println(iterator.next());

        }

        for (Object obj : list){
            System.out.println(obj);


        }

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }

    @Test
    public void test(){
        ArrayList list = new ArrayList();
        list.add(123);
        list.add(456);
        list.add("AA");
        list.add(new Person("Tom",12));
        list.add(456);

        System.out.println(list);

        //void add(int index, Object ele):在index位置插入ele元素
        list.add(1,"BB");
        System.out.println(list);

//boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来
        ArrayList list1 = new ArrayList();
        list1.add(987);
        list1.add("CC");

        list.addAll(list1);
        System.out.println(list);

        //Object get(int index):获取指定index位置的元素
        list.get(2);
        System.out.println(list.get(2));

        //int indexOf(Object obj):返回obj在集合中首次出现的位置
        list.indexOf(456);
        System.out.println(list.indexOf(456));

        //Object remove(int index):移除指定index位置的元素，并返回此元素
        Object remove = list.remove(1);
        System.out.println(remove);


        //Object set(int index, Object ele):设置指定index位置的元素为ele
        list.set(1,"bb");
        System.out.println(list);


        //List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合
        list.subList(1,3);
        System.out.println(list.subList(1,3));
        System.out.println(list);
    }
}
